﻿#define _CRT_SECURE_NO_WARNINGS 1
#include "Seqlist.h"


//通讯录的初始化
void ContactInit(Contact* con)
{
	SLInit(con);
}

//通讯录的销毁
void ContactDesTroy(Contact* con)
{
	SLDestroy(con);
}

//通讯录的添加
void ContactAdd(Contact* con)
{
	peo info;
	printf("请输入添加联系人的姓名：\n");
	scanf("%s", info.name);
	printf("请输入添加联系人的性别：\n");
	scanf("%s", info.gender);
	printf("请输入添加联系人的年龄：\n");
	scanf("%s", info.age);
	printf("请输入添加联系人的电话：\n");
	scanf("%s", info.tel);
	SLPushEnd(con, info);
	printf("添加成功！\n");
}

int FindName(Contact* con, char* name)
{
	for (int i = 0; i < con->size; i++)
	{
		if (0 == strcmp(con->arr[i].name, name))
		{
			return i;
		}
	}
	return -1;
}
//通讯录的删除
void ContactDel(Contact* con)
{
	char name[NAME_MAX];
	printf("请输入要删除的联系人名字：\n");
	scanf("%s", name);
	int f = FindName(con, name);
	if (f < 0)
	{
		printf("要删除的联系人不存在！\n");
		return;
	}
	SLErase(con, f);
	printf("删除成功！\n");
}

//通讯录的修改
void ContactModify(Contact* con)
{
	peo p;
	char name[NAME_MAX];
	printf("请输入要修改的联系人名字：\n");
	scanf("%s", name);
	int f = FindName(con, name);
	if (f < 0)
	{
		printf("要修改的联系人不存在！\n");
		return;
	}

	printf("请输入新的名字\n");
	scanf("%s,", p.name);
	printf("请输入新的性别\n");
	scanf("%s,", p.gender);
	printf("请输入新的年龄\n");
	scanf("%s,", p.age);
	printf("请输入新的电话号码\n");
	scanf("%s,", p.tel);

	SLAlter(con, f, p);
	printf("修改成功！\n");
}

//通讯录的查找
void ContactFind(Contact* con)
{
	char name[NAME_MAX];
	printf("请输入查找的联系人名字\n");
	scanf("%s", name);

	int f = FindName(con, name);
	if (f < 0)
	{
		printf("你要查找的联系人不存在\n");
		return;
	}
	printf("%-5s %-5s %-5s %-5s\n", "姓名", "性别", "年龄", "电话");
	printf("%-5s %-5s %-5s %-5s\n",
		con->arr[f].name,
		con->arr[f].gender,
		con->arr[f].age,
		con->arr[f].tel);

}

//通讯录的展示
void ContactShow(Contact* con)
{
	// 姓名 性别 年龄 电话
	if (con->size == 0)
	{
		printf("暂时还没有联系人\n");
		return;
	}
	printf("%-5s %-5s %-5s %-5s\n", "姓名", "性别", "年龄", "电话");
	for (int i = 0; i < con->size; i++)
	{
		printf("%-5s %-5s %-5s %-5s\n",
			con->arr[i].name,
			con->arr[i].gender,
			con->arr[i].age,
			con->arr[i].tel);
	}

}
